package cn.bdqn.t354.service;

import cn.bdqn.t354.pojo.Right;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;
import java.util.Map;

public interface RightService {
    /**
     * 查询所有权限
     * @return
     */
    public List<Right> findAllRights();

    /**
     * 根据角色，查询角色的权限
     * @param roleId
     * @return
     */
    public List<Right> findRightsByRoleId(Long roleId);

    /**
     * 加载动态权限信息
     * @return
     */
    public Map<String,String> loadFilterChainDefinitions();

    /**
     * 重新加载动态权限，配置权限验证规则
     */
    public void reloadFilterChainDefinitions();


    /**
     * 分页查询角色信息
     * @param pageNo
     * @param pageSize
     * @return
     */
    public IPage<Right> getRightsByPage(String rightText,String rightType,Integer pageNo, Integer pageSize);


    /**
     * 新增
     * @param right
     * @return
     */
    public void addRight(Right right);

    /**
     * 根据rightCode查询资源信息
     * @param rightCode
     * @return
     */
    public Right getRight(String rightCode);

    /**
     * 修改
     * @param right
     * @return
     */
    public void updateRight(Right right);

    /**
     * 删除
     * @param rightCode
     * @return
     */
    public void deleteRight(String rightCode);

    /**
     * 根据资源类型，查询资源
     * @param rightType
     * @return
     */
    public List<Right> findRightsByRightType(String rightType);
}
